package com.ryder.petmatediarybackend.module.auth.service;

import java.util.List;

/**
 * 描述: Token 服务接口
 *
 * @author Ryder
 * @version 1.0
 * @since 1.0
 * 更新日期: 2025/10/27
 */
public interface TokenService {

    /**
     * 将 Token 加入黑名单
     *
     * @param token      Token 值
     * @param expireTime 过期时间（秒）
     */
    void addToBlacklist(String token, Long expireTime);

    /**
     * 检查 Token 是否在黑名单
     *
     * @param token Token 值
     * @return true=在黑名单，false=不在黑名单
     */
    boolean isInBlacklist(String token);

    /**
     * 获取用户的所有 Token（用于注销所有设备）
     *
     * @param userId 用户ID
     * @return Token 列表
     */
    List<String> getUserTokens(Long userId);
}
